parser grammar ExpParser;

options {
  language = Java;
  output = AST;
  tokenVocab = ExpLexer;
}

tokens
{
  LISTA_INST;
}

@header {
  package com.pl;
}


instrucciones : (expresion SEPARADOR)* EOF 
               // {##=#($[LISTA_INST,"LISTA_INST"],##);}
               -> ^(LISTA_INST expresion+)
                ;

expresion : exp_mult ((SUMA^|RESTA^) exp_mult)*;

exp_mult : exp_base ((MULT^|DIV^) exp_base)* ;

exp_base : NUMERO 
          | 
          PARENTESIS expresion PARENTESIS
          ;

